Virtual machines have long been used in software development and software testing environments to facilitate development and testing of applications in multiple operating systems without a proportional investment in hardware. More recently, virtual machines have been used in increasing numbers to more efficiently utilize hardware, ease deployment of new systems and software, facilitate disaster recovery, and implement cloud infrastructures.
Concurrent with the growth in the use of virtual machines, storage devices and storage architectures have been developed to provide for the ever-increasing storage needs of proliferating applications and systems. Some storage devices, such as disk arrays, may also include advanced features, such as snapshotting, rollback, and replication, designed to decrease the likelihood of data loss.
Unfortunately, as the number of virtual machines and applications running concurrently on a system increase, it becomes increasingly likely that advanced features of storage devices will be used inefficiently. For example, a virtual machine may trigger a hardware snapshot of the disk array its volume resides on, even though another virtual machine or application running in a virtual machine on the same system may have triggered a snapshot seconds before. When data is to be restored, rollback or replication features may be applied to make the process more efficient, but the utilization of such features is subject to human error and the system administrator's awareness of system capabilities and configuration details. Accordingly, the instant disclosure identifies and addresses a need for additional and improved systems and methods for managing virtual machine backups.